Skip to content

Conversation

@jamadeo
Copy link
Collaborator

@jamadeo jamadeo commented Oct 28, 2025

This automates release branching using PRs. It uses github actions to create PRs that generate a release log and diff for release branch management. It also includes a check on these PRs so that, when targeting main (for a minor release) we check that each change exists in main's history (has been cherry-picked). When a release tag is pushed, the PR is automatically merged to bump the version.

The process looks like this:

flowchart TD

    A[Weekly Schedule] --> B[Create Minor Release PR<br/>based on main]

    C[Manual Trigger] --> B

    D[Push Release Tag] --> E{PR Mergeable?<br/>Checks Passing?}

    E -->|Yes| F[Merge Release PR]
    E -->|No| G[No Action - PR Not Ready]

    F --> H[Create New Patch Release PR<br/>based on new release tag]

    

    B --> I{PR Status?}

    H --> J{PR Status?}

    

    I -->|Closed| K[No Action]

    I -->|Open & Ready| L[Awaiting Tag Push]

    

    J -->|Closed| M[No Action]

    J -->|Open & Ready| N[Awaiting Tag Push]

    

    L --> D
    N --> D

    style G fill:#ffcdd2
    style K fill:#ffcdd2
    style M fill:#ffcdd2

    style A fill:#e1f5fe
    style C fill:#e1f5fe
    style F fill:#c8e6c9
    style D fill:#fff3e0
Loading

@jamadeo jamadeo marked this pull request as draft November 4, 2025 21:01
@jamadeo jamadeo marked this pull request as ready for review November 5, 2025 00:18
Copilot AI review requested due to automatic review settings November 5, 2025 00:18
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces an automated release workflow system that supports both minor and patch releases through GitHub Actions workflows and Just commands.

  • Adds Just commands to calculate next minor/patch versions programmatically
  • Creates reusable GitHub Actions workflow for automated release PR creation
  • Implements scheduled minor releases and on-demand patch releases
  • Automates PR merging when tags are pushed and validates release branch commits

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Justfile Adds get-next-minor-version and get-next-patch-version commands for version calculation
.github/workflows/create-release-pr.yaml Reusable workflow that creates release PRs with automatic version bumping
.github/workflows/minor-release.yaml Scheduled (weekly) and manual trigger for minor releases
.github/workflows/patch-release.yaml Manual workflow to create patch release PRs for hotfixes
.github/workflows/merge-release-pr-on-tag.yaml Automated workflow to merge release PRs when version tags are pushed
.github/workflows/check-release-pr.yaml Validates that release PRs only contain version bump commits

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copilot AI review requested due to automatic review settings November 5, 2025 03:06
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@jamadeo jamadeo merged commit c59ec1d into main Nov 5, 2025
16 checks passed
katzdave added a commit that referenced this pull request Nov 5, 2025
…est-and-fix

* 'main' of github.com:block/goose:
  Document missing recipe param types (#5584)
  docs: description required for "Add Extension" in cli (#5573)
  fix: Add schema-aware numeric coercion for MCP tool arguments (#5478)
  Add uv for uvx in Justfile (#5581)
  Keep llm logs in place (#5577)
  bump to 1.12.0 (#5580)
  automate more of the release process (#5409)
  add clippy warning for string_slice (#5422)
michaelneale added a commit that referenced this pull request Nov 6, 2025
* main: (41 commits)
  Add pending extension indicator to extension panel (#5493)
  Add environment subsition for auth blocks (#5439)
  acp: ToolCallLocations and working cancellation (#5588)
  feat(providers): add Mistral AI provider (#5009)
  Listen for ctrl-c during provider request (#5585)
  Also accept null as description, not just missing (#5589)
  Document missing recipe param types (#5584)
  docs: description required for "Add Extension" in cli (#5573)
  fix: Add schema-aware numeric coercion for MCP tool arguments (#5478)
  Add uv for uvx in Justfile (#5581)
  Keep llm logs in place (#5577)
  bump to 1.12.0 (#5580)
  automate more of the release process (#5409)
  add clippy warning for string_slice (#5422)
  improve linux tray icon support (#5425)
  feat: log rotation (#5561)
  use app.isPackaged instead of checking for node env development (#5465)
  disable RPM build-ID generation to prevent package conflicts (#5563)
  Add Diagnostics Info to Q&A and Bug Report Templates (#5565)
  fix: improve server error messages to include HTTP status code (#5532)
  ...
michaelneale added a commit that referenced this pull request Nov 6, 2025
* main: (53 commits)
  acp: ToolCallLocations and working cancellation (#5588)
  feat(providers): add Mistral AI provider (#5009)
  Listen for ctrl-c during provider request (#5585)
  Also accept null as description, not just missing (#5589)
  Document missing recipe param types (#5584)
  docs: description required for "Add Extension" in cli (#5573)
  fix: Add schema-aware numeric coercion for MCP tool arguments (#5478)
  Add uv for uvx in Justfile (#5581)
  Keep llm logs in place (#5577)
  bump to 1.12.0 (#5580)
  automate more of the release process (#5409)
  add clippy warning for string_slice (#5422)
  improve linux tray icon support (#5425)
  feat: log rotation (#5561)
  use app.isPackaged instead of checking for node env development (#5465)
  disable RPM build-ID generation to prevent package conflicts (#5563)
  Add Diagnostics Info to Q&A and Bug Report Templates (#5565)
  fix: improve server error messages to include HTTP status code (#5532)
  improvement: add useful error message when attempting to use unauthenticated cursor-agent (#5300)
  fix: unblock acp via databricks (#5562)
  ...
lifeizhou-ap added a commit that referenced this pull request Nov 6, 2025
* main:
  fix: customised recipe to yaml string to avoid minininjia parsing error (#5494)
  Add pending extension indicator to extension panel (#5493)
  Add environment subsition for auth blocks (#5439)
  acp: ToolCallLocations and working cancellation (#5588)
  feat(providers): add Mistral AI provider (#5009)
  Listen for ctrl-c during provider request (#5585)
  Also accept null as description, not just missing (#5589)
  Document missing recipe param types (#5584)
  docs: description required for "Add Extension" in cli (#5573)
  fix: Add schema-aware numeric coercion for MCP tool arguments (#5478)
  Add uv for uvx in Justfile (#5581)
  Keep llm logs in place (#5577)
  bump to 1.12.0 (#5580)
  automate more of the release process (#5409)
aharvard added a commit that referenced this pull request Nov 6, 2025
* origin/main: (75 commits)
  fix: customised recipe to yaml string to avoid minininjia parsing error (#5494)
  Add pending extension indicator to extension panel (#5493)
  Add environment subsition for auth blocks (#5439)
  acp: ToolCallLocations and working cancellation (#5588)
  feat(providers): add Mistral AI provider (#5009)
  Listen for ctrl-c during provider request (#5585)
  Also accept null as description, not just missing (#5589)
  Document missing recipe param types (#5584)
  docs: description required for "Add Extension" in cli (#5573)
  fix: Add schema-aware numeric coercion for MCP tool arguments (#5478)
  Add uv for uvx in Justfile (#5581)
  Keep llm logs in place (#5577)
  bump to 1.12.0 (#5580)
  automate more of the release process (#5409)
  add clippy warning for string_slice (#5422)
  improve linux tray icon support (#5425)
  feat: log rotation (#5561)
  use app.isPackaged instead of checking for node env development (#5465)
  disable RPM build-ID generation to prevent package conflicts (#5563)
  Add Diagnostics Info to Q&A and Bug Report Templates (#5565)
  ...
fbalicchia pushed a commit to fbalicchia/goose that referenced this pull request Nov 7, 2025
BlairAllan pushed a commit to BlairAllan/goose that referenced this pull request Nov 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants